home *** CD-ROM | disk | FTP | other *** search
/ Aminet 40 / Aminet 40 (2000)(Schatztruhe)[!][Dec 2000].iso / Aminet / dev / c / Emperor.lha / Emperor / Projects / ClicktabExample.c < prev    next >
Encoding:
C/C++ Source or Header  |  2000-10-21  |  82.0 KB  |  1,399 lines

  1. /* code was generated by Emperor */
  2.  
  3. #define CATCOMP_NUMBERS
  4. #define CATCOMP_STRINGS
  5. #define ALL_REACTION_CLASSES
  6. #define ALL_REACTION_MACROS
  7. #include <stdio.h>
  8. #include <stdlib.h>
  9. #include <string.h>
  10. #include <clib/alib_protos.h>
  11. #include <clib/asl_protos.h>
  12. #include <clib/dos_protos.h>
  13. #include <clib/exec_protos.h>
  14. #include <clib/gadtools_protos.h>
  15. #include <clib/graphics_protos.h>
  16. #include <clib/intuition_protos.h>
  17. #include <clib/locale_protos.h>
  18. #include <clib/resource_protos.h>
  19. #include <clib/utility_protos.h>
  20. #include <clib/colorwheel_protos.h>
  21. #include <clib/datebrowser_protos.h>
  22. #include <clib/texteditor_protos.h>
  23. #include <gadgets/colorwheel.h>
  24. #include <gadgets/datebrowser.h>
  25. #include <gadgets/gradientslider.h>
  26. #include <gadgets/tapedeck.h>
  27. #include <gadgets/texteditor.h>
  28. #include <proto/texteditor.h>
  29. #include <intuition/gadgetclass.h>
  30. #include <intuition/icclass.h>
  31. #include <intuition/imageclass.h>
  32. #include <reaction/reaction.h>
  33. #include <workbench/startup.h>
  34. #include <wbstartup.h>
  35.  
  36. #define TapeDeckObject   NewObject(NULL, "tapedeck.gadget"
  37. #define TextEditorObject NewObject(TEXTEDITOR_GetClass(), NULL
  38. #define INTUITIONLIBRARY "intuition.library"
  39. #define LOCALELIBRARY "locale.library"
  40. #define GADTOOLSLIBRARY "gadtools.library"
  41. #define ASLLIBRARY "asl.library"
  42. #define DOSLIBRARY "dos.library"
  43. #define RESOURCELIBRARY "resource.library"
  44. #define WINDOWCLASSLIB "window.class"
  45. #define REQUESTERCLASSLIB "requester.class"
  46. #define LABELIMAGELIB "images/label.image"
  47. #define BUTTONGADGETLIB "gadgets/button.gadget"
  48. #define CHECKBOXGADGETLIB "gadgets/checkbox.gadget"
  49. #define CHOOSERGADGETLIB "gadgets/chooser.gadget"
  50. #define CLICKTABGADGETLIB "gadgets/clicktab.gadget"
  51. #define COLORWHEELGADGETLIB "gadgets/colorwheel.gadget"
  52. #define DATEBROWSERGADGETLIB "gadgets/datebrowser.gadget"
  53. #define FUELGAUGEGADGETLIB "gadgets/fuelgauge.gadget"
  54. #define GETFILEGADGETLIB "gadgets/getfile.gadget"
  55. #define GETFONTGADGETLIB "gadgets/getfont.gadget"
  56. #define GETSCREENMODEGADGETLIB "gadgets/getscreenmode.gadget"
  57. #define GRADIENTSLIDERGADGETLIB "gadgets/gradientslider.gadget"
  58. #define INTEGERGADGETLIB "gadgets/integer.gadget"
  59. #define LAYOUTGADGETLIB "gadgets/layout.gadget"
  60. #define LISTBROWSERGADGETLIB "gadgets/listbrowser.gadget"
  61. #define PALETTEGADGETLIB "gadgets/palette.gadget"
  62. #define RADIOBUTTONGADGETLIB "gadgets/radiobutton.gadget"
  63. #define SCROLLERGADGETLIB "gadgets/scroller.gadget"
  64. #define SLIDERGADGETLIB "gadgets/slider.gadget"
  65. #define SPACEGADGETLIB "gadgets/space.gadget"
  66. #define SPEEDBARGADGETLIB "gadgets/speedbar.gadget"
  67. #define STRINGGADGETLIB "gadgets/string.gadget"
  68. #define TAPEDECKGADGETLIB "gadgets/tapedeck.gadget"
  69. #define TEXTEDITORGADGETLIB "gadgets/texteditor.gadget"
  70. #define LOCALE_REQUEST_INITIALIZATIONERROR_TITLE GetCatalogStr(Catalog, 0, "Program error")
  71. #define LOCALE_REQUEST_INITIALIZATIONERROR_GADGET GetCatalogStr(Catalog, 1, "Okay")
  72. #define LOCALE_REQUEST_INITIALIZATIONERROR_BODYTITLE GetCatalogStr(Catalog, 2, "Error during initialization:\n")
  73. #define LOCALE_REQUEST_INITIALIZATIONERROR_ERRRTEXT1 GetCatalogStr(Catalog, 3, "Can't open Amiga-library\n")
  74. #define LOCALE_REQUEST_INITIALIZATIONERROR_ERRRTEXT2 GetCatalogStr(Catalog, 4, "Can't lock your public-screen.\n")
  75. #define LOCALE_REQUEST_INITIALIZATIONERROR_ERRRTEXT3 GetCatalogStr(Catalog, 5, "Can't get visualinfo of your public-screen.\n")
  76. #define LOCALE_REQUEST_INITIALIZATIONERROR_ERRRTEXT4 GetCatalogStr(Catalog, 6, "Can't create menu.\n")
  77. #define LOCALE_REQUEST_INITIALIZATIONERROR_ERRRTEXT5 GetCatalogStr(Catalog, 7, "Can't create message-port.\n")
  78. #define LOCALE_REQUEST_INITIALIZATIONERROR_SOLUTION1 GetCatalogStr(Catalog, 8, "\nProbably you don't have a correct\ninstalled AmigaOS 3.5 system !")
  79. #define LOCALE_REQUEST_INITIALIZATIONERROR_SOLUTION2 GetCatalogStr(Catalog, 9, "\nMaybe there isn't enough memory !")
  80. #define LOCALE_WINDOW_TITLE1 GetCatalogStr(Catalog, 10, "Window")
  81. #define LOCALE_SCREEN_TITLE1 GetCatalogStr(Catalog, 11, "Workbench Screen")
  82. #define LOCALE_ICONIFIED_TITLE1 GetCatalogStr(Catalog, 12, "Iconified Program")
  83. #define Clicktab1 Gadget1[2]
  84. #define Button1 Gadget1[5]
  85. #define Button2 Gadget1[6]
  86. #define Checkbox1 Gadget1[8]
  87. #define Checkbox2 Gadget1[9]
  88. #define Integer1 Gadget1[11]
  89. #define Integer2 Gadget1[12]
  90. BYTE Emperor_Gadgetkind1[15] = { 0, 12, 3, 12, 12, 0, 0, 12, 1, 1, 12, 10, 10, -1 };
  91.  
  92. void Window1_CloseWindow_Event(void);
  93. BOOL Emperor_InitProgram(void);
  94. void Emperor_QuitProgram(void);
  95. void Emperor_CloseWindow_Window1(void);
  96. void Emperor_IconifyWindow_Window1(void);
  97. struct Window *Emperor_OpenWindow_Window1(void);
  98. struct Window *Emperor_UniconifyWindow_Window1(void);
  99. BOOL Emperor_GetMenuItemAttr(UWORD, UBYTE);
  100. void Emperor_SetMenuItemAttr(UWORD, UBYTE, BOOL);
  101. STRPTR Emperor_GetGadgetAttr(struct Gadget *);
  102. void Emperor_SetGadgetAttr(struct Gadget *, STRPTR);
  103. STRPTR Emperor_GetGadgetAttrComplex(struct Gadget *, ULONG);
  104. void Emperor_SetGadgetAttrComplex(struct Gadget *, ULONG, STRPTR);
  105. BOOL Emperor_GetGadgetDisabledAttr(struct Gadget *);
  106. void Emperor_SetGadgetDisabledAttr(struct Gadget *, BOOL);
  107. BOOL Emperor_GetGadgetReadOnlyAttr(struct Gadget *);
  108. void Emperor_SetGadgetReadOnlyAttr(struct Gadget *, BOOL);
  109. void Emperor_ActivateGadget(struct Gadget *);
  110. void Emperor_RethinkLayout(struct Gadget *);
  111. void Emperor_RefreshGList(struct Gadget *, WORD);
  112. void Emperor_ChangeWindowPosition(struct Window *, WORD, WORD);
  113. void Emperor_ChangeWindowSize(struct Window *, WORD, WORD);
  114. void Emperor_SetWindowBusyPointer(struct Window *, BOOL);
  115. void Emperor_SetWindowTitle(struct Window *, STRPTR);
  116. void Emperor_SetScreenTitle(struct Window *, STRPTR);
  117. void Emperor_AllocChooserNode(struct List *, char **, WORD *);
  118. void Emperor_AllocClicktabNode(struct List *, char **, WORD *);
  119. void Emperor_AllocListbrowserNode(struct List *, char **, WORD *);
  120. void Emperor_AllocListbrowserGadToolsNode(struct List *, char **);
  121. void Emperor_AllocRadiobuttonNode(struct List *, char **, WORD *);
  122. LONG stringlength(STRPTR buffer);
  123. LONG stringtoint(STRPTR);
  124. STRPTR inttostring(LONG);
  125.  
  126. struct Library *IntuitionBase = NULL;
  127. struct Library *LocaleBase = NULL;
  128. struct Library *GadToolsBase = NULL;
  129. struct Library *ASLBase = NULL;
  130. struct Library *DOSLibBase = NULL;
  131. struct Library *ResourceBase = NULL;
  132. struct Library *RequesterBase = NULL;
  133. struct Library *WindowBase = NULL;
  134. struct Library *ButtonBase = NULL;
  135. struct Library *CheckBoxBase = NULL;
  136. struct Library *ChooserBase = NULL;
  137. struct Library *ClickTabBase = NULL;
  138. struct Library *ColorWheelBase = NULL;
  139. struct Library *DateBrowserBase = NULL;
  140. struct Library *FuelGaugeBase = NULL;
  141. struct Library *GetFileBase = NULL;
  142. struct Library *GetFontBase = NULL;
  143. struct Library *GetScreenModeBase = NULL;
  144. struct Library *IntegerBase = NULL;
  145. struct Library *LabelBase = NULL;
  146. struct Library *LayoutBase = NULL;
  147. struct Library *ListBrowserBase = NULL;
  148. struct Library *PaletteBase = NULL;
  149. struct Library *RadioButtonBase = NULL;
  150. struct Library *ScrollerBase = NULL;
  151. struct Library *SliderBase = NULL;
  152. struct Library *SpaceBase = NULL;
  153. struct Library *SpeedBarBase = NULL;
  154. struct Library *StringBase = NULL;
  155. struct Library *TapeDeckBase = NULL;
  156. struct Library *TextEditorBase = NULL;
  157. struct List Chooser_ClicktabArray;
  158. struct List Clicktab_ClicktabArray;
  159. struct List Listbrowser_ClicktabArray;
  160. struct List Listbrowser_GadTools_ClicktabArray;
  161. struct List Radiobutton_ClicktabArray;
  162.  
  163. void *vinfo = NULL;
  164. BOOL os35 = TRUE;
  165. BOOL terminated = FALSE;
  166. ULONG WindowSignals1 = 0L;
  167. Object *WindowObject1 = NULL;
  168. struct Catalog *Catalog = NULL;
  169. struct Gadget *Gadget1[14];
  170. struct MsgPort *AppPort = NULL;
  171. struct Screen *Screen = NULL;
  172. struct Window *Window1 = NULL;
  173.  
  174. /* global variables declarations */
  175.  
  176. char *ClicktabArrayraw[] = { "node1", "node2", "node3", NULL };
  177. WORD ClicktabArrayattr[] = { 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, NULL };
  178.  
  179. void main(void)
  180. {
  181.     BYTE Emperor_Exception = 0;
  182.     ULONG Emperor_Input, Emperor_Code;
  183.     char Emperor_ExceptionString[200];
  184.     struct EasyStruct EmperorRequest_InitializationErrorRequest;
  185.     struct IntuiMessage *IntuiMessage = NULL;
  186.     struct Gadget *GadgetMessage = NULL;
  187.  
  188.     Emperor_Input = 0L;
  189.     Emperor_Code = 0L;
  190.     if(!Emperor_InitProgram())
  191.     {
  192.         if(Screen = LockPubScreen(NULL))
  193.         {
  194.             if(vinfo = GetVisualInfo(Screen, TAG_DONE))
  195.             {
  196.                     Emperor_AllocChooserNode(&Chooser_ClicktabArray, ClicktabArrayraw, ClicktabArrayattr);
  197.                     Emperor_AllocClicktabNode(&Clicktab_ClicktabArray, ClicktabArrayraw, ClicktabArrayattr);
  198.                     Emperor_AllocListbrowserNode(&Listbrowser_ClicktabArray, ClicktabArrayraw, ClicktabArrayattr);
  199.                     Emperor_AllocListbrowserGadToolsNode(&Listbrowser_GadTools_ClicktabArray, ClicktabArrayraw);
  200.                     Emperor_AllocRadiobuttonNode(&Radiobutton_ClicktabArray, ClicktabArrayraw, ClicktabArrayattr);
  201.                     if(AppPort = CreateMsgPort())
  202.                     {
  203.                         if(os35)
  204.                         {
  205.                             WindowObject1 = (Object *) WindowObject,
  206.                                             WA_Left, 0,
  207.                                             WA_Top, 17,
  208.                                             WA_Width, 400,
  209.                                             WA_Height, 300,
  210.                                             WA_SizeGadget, TRUE,
  211.                                             WA_DragBar, TRUE,
  212.                                             WA_DepthGadget, TRUE,
  213.                                             WA_CloseGadget, TRUE,
  214.                                             WA_Activate, TRUE,
  215.                                             WA_AutoAdjust, TRUE,
  216.                                             WA_IDCMP, IDCMP_GADGETDOWN | IDCMP_GADGETUP | IDCMP_GADGETHELP | IDCMP_MENUPICK | IDCMP_MENUHELP | IDCMP_CLOSEWINDOW | IDCMP_ACTIVEWINDOW | IDCMP_INACTIVEWINDOW | IDCMP_RAWKEY | IDCMP_VANILLAKEY | IDCMP_MOUSEBUTTONS | IDCMP_MOUSEMOVE | IDCMP_NEWSIZE | IDCMP_CHANGEWINDOW | IDCMP_SIZEVERIFY | IDCMP_REFRESHWINDOW | IDCMP_INTUITICKS,                                            WA_MinWidth, -1,
  217.                                             WA_MinHeight, -1,
  218.                                             WA_MaxWidth, -1,
  219.                                             WA_MaxHeight, -1,
  220.                                             WA_Title, LOCALE_WINDOW_TITLE1,
  221.                                             WA_ScreenTitle, LOCALE_SCREEN_TITLE1,
  222.                                             WA_PubScreen, Screen,
  223.                                             WINDOW_IconifyGadget, FALSE,
  224.                                             WINDOW_IconTitle, LOCALE_ICONIFIED_TITLE1,
  225.                                             WINDOW_AppPort, AppPort,
  226.                                             WINDOW_ParentGroup, (Object *) Gadget1[0] = (Object *) VGroupObject,
  227.                                                                 LAYOUT_SpaceOuter, TRUE,
  228.                                                                 LAYOUT_DeferLayout, TRUE,
  229.                                                                 LAYOUT_AddChild, (Object *) Gadget1[1] = (Object *) LayoutObject,
  230.                                                                                  LAYOUT_Label, "",
  231.                                                                                  LAYOUT_Orientation, 1,
  232.                                                                                  LAYOUT_HorizAlignment, LALIGN_LEFT,
  233.                                                                                  LAYOUT_VertAlignment, LALIGN_TOP,
  234.                                                                                  LAYOUT_LabelPlace, BVJ_TOP_LEFT,
  235.                                                                                  LAYOUT_BevelState, IDS_NORMAL,
  236.                                                                                  GA_ID, 0,
  237.                                                                                  GA_GadgetHelpText, "",
  238.                                                                                  GA_RelVerify, TRUE,
  239.                                                                                  GA_GadgetHelp, TRUE,
  240.                                                                                  LAYOUT_AddChild, (Object *) Gadget1[2] = (Object *) ClickTabObject,
  241.                                                                                                   CLICKTAB_Labels, (ULONG) &Clicktab_ClicktabArray,
  242.                                                                                                   CLICKTAB_Current, 0,
  243.                                                                                                   GA_ID, 1,
  244.                                                                                                   GA_GadgetHelpText, "",
  245.                                                                                                   GA_RelVerify, TRUE,
  246.                                                                                                   GA_GadgetHelp, TRUE,
  247.                                                                                                   CLICKTAB_PageGroup,  (Object *) Gadget1[3] = (Object *) PageObject,
  248.                                                                                                                    LAYOUT_Label, "",
  249.                                                                                                                    LAYOUT_Orientation, 1,
  250.                                                                                                                    LAYOUT_HorizAlignment, LALIGN_LEFT,
  251.                                                                                                                    LAYOUT_VertAlignment, LALIGN_TOP,
  252.                                                                                                                    LAYOUT_LabelPlace, BVJ_TOP_LEFT,
  253.                                                                                                                    LAYOUT_BevelState, IDS_NORMAL,
  254.                                                                                                                    LAYOUT_FixedVert, TRUE,
  255.                                                                                                                    GA_ID, 2,
  256.                                                                                                                    GA_GadgetHelpText, "",
  257.                                                                                                                    GA_RelVerify, TRUE,
  258.                                                                                                                    GA_GadgetHelp, TRUE,
  259.                                                                                                                    PAGE_Add, (Object *) Gadget1[4] = (Object *) LayoutObject,
  260.                                                                                                                                     LAYOUT_Label, "",
  261.                                                                                                                                     LAYOUT_Orientation, 1,
  262.                                                                                                                                     LAYOUT_HorizAlignment, LALIGN_LEFT,
  263.                                                                                                                                     LAYOUT_VertAlignment, LALIGN_TOP,
  264.                                                                                                                                     LAYOUT_LabelPlace, BVJ_TOP_LEFT,
  265.                                                                                                                                     LAYOUT_BevelState, IDS_NORMAL,
  266.                                                                                                                                     LAYOUT_FixedVert, TRUE,
  267.                                                                                                                                     GA_ID, 3,
  268.                                                                                                                                     GA_GadgetHelpText, "",
  269.                                                                                                                                     GA_RelVerify, TRUE,
  270.                                                                                                                                     GA_GadgetHelp, TRUE,
  271.                                                                                                                                     LAYOUT_AddChild, (Object *) Gadget1[5] = (Object *) ButtonObject,
  272.                                                                                                                                                      GA_Text, "Button1",
  273.                                                                                                                                                      BUTTON_Justification, 1,
  274.                                                                                                                                                      GA_ID, 4,
  275.                                                                                                                                                      GA_GadgetHelpText, "",
  276.                                                                                                                                                      GA_RelVerify, TRUE,
  277.                                                                                                                                                      GA_GadgetHelp, TRUE,
  278.                                                                                                                                     End,
  279.                                                                                                                                     LAYOUT_AddChild, (Object *) Gadget1[6] = (Object *) ButtonObject,
  280.                                                                                                                                                      GA_Text, "Button2",
  281.                                                                                                                                                      BUTTON_Justification, 1,
  282.                                                                                                                                                      GA_ID, 5,
  283.                                                                                                                                                      GA_GadgetHelpText, "",
  284.                                                                                                                                                      GA_RelVerify, TRUE,
  285.                                                                                                                                                      GA_GadgetHelp, TRUE,
  286.                                                                                                                                     End,
  287.                                                                                                                    End,
  288.                                                                                                                    PAGE_Add, (Object *) Gadget1[7] = (Object *) LayoutObject,
  289.                                                                                                                                     LAYOUT_Label, "",
  290.                                                                                                                                     LAYOUT_Orientation, 1,
  291.                                                                                                                                     LAYOUT_HorizAlignment, LALIGN_LEFT,
  292.                                                                                                                                     LAYOUT_VertAlignment, LALIGN_TOP,
  293.                                                                                                                                     LAYOUT_LabelPlace, BVJ_TOP_LEFT,
  294.                                                                                                                                     LAYOUT_BevelState, IDS_NORMAL,
  295.                                                                                                                                     LAYOUT_FixedVert, TRUE,
  296.                                                                                                                                     GA_ID, 6,
  297.                                                                                                                                     GA_GadgetHelpText, "",
  298.                                                                                                                                     GA_RelVerify, TRUE,
  299.                                                                                                                                     GA_GadgetHelp, TRUE,
  300.                                                                                                                                     LAYOUT_AddChild, (Object *) Gadget1[8] = (Object *) CheckBoxObject,
  301.                                                                                                                                                      GA_Text, "Checkbox1",
  302.                                                                                                                                                      CHECKBOX_TextPen, 1,
  303.                                                                                                                                                      CHECKBOX_FillTextPen, 1,
  304.                                                                                                                                                      CHECKBOX_BackgroundPen, 0,
  305.                                                                                                                                                      CHECKBOX_TextPlace, PLACETEXT_RIGHT,
  306.                                                                                                                                                      GA_ID, 7,
  307.                                                                                                                                                      GA_GadgetHelpText, "",
  308.                                                                                                                                                      GA_RelVerify, TRUE,
  309.                                                                                                                                                      GA_GadgetHelp, TRUE,
  310.                                                                                                                                     End,
  311.                                                                                                                                     LAYOUT_AddChild, (Object *) Gadget1[9] = (Object *) CheckBoxObject,
  312.                                                                                                                                                      GA_Text, "Checkbox2",
  313.                                                                                                                                                      CHECKBOX_TextPen, 1,
  314.                                                                                                                                                      CHECKBOX_FillTextPen, 1,
  315.                                                                                                                                                      CHECKBOX_BackgroundPen, 0,
  316.                                                                                                                                                      CHECKBOX_TextPlace, PLACETEXT_RIGHT,
  317.                                                                                                                                                      GA_ID, 8,
  318.                                                                                                                                                      GA_GadgetHelpText, "",
  319.                                                                                                                                                      GA_RelVerify, TRUE,
  320.                                                                                                                                                      GA_GadgetHelp, TRUE,
  321.                                                                                                                                     End,
  322.                                                                                                                    End,
  323.                                                                                                                    PAGE_Add, (Object *) Gadget1[10] = (Object *) LayoutObject,
  324.                                                                                                                                     LAYOUT_Label, "",
  325.                                                                                                                                     LAYOUT_Orientation, 1,
  326.                                                                                                                                     LAYOUT_HorizAlignment, LALIGN_LEFT,
  327.                                                                                                                                     LAYOUT_VertAlignment, LALIGN_TOP,
  328.                                                                                                                                     LAYOUT_LabelPlace, BVJ_TOP_LEFT,
  329.                                                                                                                                     LAYOUT_BevelState, IDS_NORMAL,
  330.                                                                                                                                     LAYOUT_FixedVert, TRUE,
  331.                                                                                                                                     GA_ID, 9,
  332.                                                                                                                                     GA_GadgetHelpText, "",
  333.                                                                                                                                     GA_RelVerify, TRUE,
  334.                                                                                                                                     GA_GadgetHelp, TRUE,
  335.                                                                                                                                     LAYOUT_AddChild, (Object *) Gadget1[11] = (Object *) IntegerObject,
  336.                                                                                                                                                      INTEGER_Number, 0,
  337.                                                                                                                                                      INTEGER_MaxChars, 10,
  338.                                                                                                                                                      INTEGER_Minimum, -30000,
  339.                                                                                                                                                      INTEGER_Maximum, 30000,
  340.                                                                                                                                                      INTEGER_Arrows, TRUE,
  341.                                                                                                                                                      GA_ID, 10,
  342.                                                                                                                                                      GA_GadgetHelpText, "",
  343.                                                                                                                                                      GA_RelVerify, TRUE,
  344.                                                                                                                                                      GA_GadgetHelp, TRUE,
  345.                                                                                                                                                      GA_TabCycle, TRUE,
  346.                                                                                                                                     End,
  347.                                                                                                                                     LAYOUT_AddChild, (Object *) Gadget1[12] = (Object *) IntegerObject,
  348.                                                                                                                                                      INTEGER_Number, 0,
  349.                                                                                                                                                      INTEGER_MaxChars, 10,
  350.                                                                                                                                                      INTEGER_Minimum, -30000,
  351.                                                                                                                                                      INTEGER_Maximum, 30000,
  352.                                                                                                                                                      INTEGER_Arrows, TRUE,
  353.                                                                                                                                                      GA_ID, 11,
  354.                                                                                                                                                      GA_GadgetHelpText, "",
  355.                                                                                                                                                      GA_RelVerify, TRUE,
  356.                                                                                                                                                      GA_GadgetHelp, TRUE,
  357.                                                                                                                                                      GA_TabCycle, TRUE,
  358.                                                                                                                                     End,
  359.                                                                                                                    End,
  360.                                                                                                   End,
  361.                                                                                  End,
  362.                                                                 End,
  363.                                             EndGroup,
  364.                             EndWindow;
  365.  
  366.                         }
  367.                         Emperor_OpenWindow_Window1();
  368.                         while(!terminated)
  369.                         {
  370.                             Wait(WindowSignals1);
  371.                             while((Emperor_Input = RA_HandleInput(WindowObject1, &Emperor_Code)) != WMHI_LASTMSG)
  372.                             {
  373.                                 switch(Emperor_Input & WMHI_CLASSMASK)
  374.                                 {
  375.                                     case WMHI_GADGETUP:
  376.                                         switch(Emperor_Input & WMHI_GADGETMASK)
  377.                                         {
  378.                                         }
  379.                                         break;
  380.                                     case WMHI_GADGETHELP:
  381.                                         switch(Emperor_Input & WMHI_GADGETMASK)
  382.                                         {
  383.                                         }
  384.                                         break;
  385.                                     case WMHI_MENUPICK:
  386.                                         switch(Emperor_Input & WMHI_MENUMASK)
  387.                                         {
  388.                                         }
  389.                                         break;
  390.                                     case WMHI_MENUHELP:
  391.                                         switch(Emperor_Input & WMHI_MENUMASK)
  392.                                         {
  393.                                         }
  394.                                         break;
  395.                                     case WMHI_CLOSEWINDOW:
  396.                                         Window1_CloseWindow_Event();
  397.                                         break;
  398.                                     case WMHI_ICONIFY:
  399.                                         break;
  400.                                     case WMHI_UNICONIFY:
  401.                                         break;
  402.                                     case WMHI_ACTIVE:
  403.                                         break;
  404.                                     case WMHI_INACTIVE:
  405.                                         break;
  406.                                     case WMHI_RAWKEY:
  407.                                         break;
  408.                                     case WMHI_VANILLAKEY:
  409.                                         break;
  410.                                     case WMHI_MOUSEBUTTONS:
  411.                                         break;
  412.                                     case WMHI_MOUSEMOVE:
  413.                                         break;
  414.                                     case WMHI_NEWSIZE:
  415.                                         break;
  416.                                     case WMHI_CHANGEWINDOW:
  417.                                         break;
  418.                                     case WMHI_DISPOSEDWINDOW:
  419.                                         break;
  420.                                     case WMHI_INTUITICK:
  421.                                         break;
  422.                                 }
  423.                             }
  424.                         }
  425.                     }
  426.                     else Emperor_Exception = 4;
  427.             }
  428.             else Emperor_Exception = 2;
  429.         }
  430.         else Emperor_Exception = 1;
  431.     }
  432.     if(Emperor_Exception)
  433.     {
  434.         strcpy(Emperor_ExceptionString, LOCALE_REQUEST_INITIALIZATIONERROR_BODYTITLE);
  435.         switch(Emperor_Exception)
  436.         {
  437.             case 1: strcat(Emperor_ExceptionString, LOCALE_REQUEST_INITIALIZATIONERROR_ERRRTEXT2); break;
  438.             case 2: strcat(Emperor_ExceptionString, LOCALE_REQUEST_INITIALIZATIONERROR_ERRRTEXT3); break;
  439.             case 3: strcat(Emperor_ExceptionString, LOCALE_REQUEST_INITIALIZATIONERROR_ERRRTEXT4); break;
  440.             case 4: strcat(Emperor_ExceptionString, LOCALE_REQUEST_INITIALIZATIONERROR_ERRRTEXT5); break;
  441.         }
  442.         strcat(Emperor_ExceptionString, LOCALE_REQUEST_INITIALIZATIONERROR_SOLUTION2);
  443.         EmperorRequest_InitializationErrorRequest.es_StructSize = sizeof(struct EasyStruct);
  444.         EmperorRequest_InitializationErrorRequest.es_Flags = 0L;
  445.         EmperorRequest_InitializationErrorRequest.es_Title = (UBYTE *) LOCALE_REQUEST_INITIALIZATIONERROR_TITLE;
  446.         EmperorRequest_InitializationErrorRequest.es_TextFormat = (UBYTE *) Emperor_ExceptionString;
  447.         EmperorRequest_InitializationErrorRequest.es_GadgetFormat = (UBYTE *) LOCALE_REQUEST_INITIALIZATIONERROR_GADGET;
  448.         EasyRequest(Window1, &EmperorRequest_InitializationErrorRequest, NULL, NULL);
  449.     }
  450.     Emperor_QuitProgram();
  451. }
  452.  
  453. void wbmain(struct WBStartup *Emperor_ArgMsg)
  454. {
  455.     main();
  456. }
  457.  
  458. #include <ClicktabExample.h>
  459.  
  460. BOOL Emperor_InitProgram(void)
  461. {
  462.     BOOL Emperor_InitVar = FALSE;
  463.     BYTE Emperor_ExceptionStringLength;
  464.     char Emperor_OccuredError[50], Emperor_ExceptionString[200];
  465.     struct EasyStruct EmperorRequest_InitializationErrorRequest;
  466.  
  467.     if(!(IntuitionBase = OpenLibrary(INTUITIONLIBRARY, 39L)))
  468.     {
  469.         Emperor_InitVar = TRUE;
  470.         strcpy(Emperor_OccuredError, INTUITIONLIBRARY);
  471.     }
  472.     if(!(LocaleBase = OpenLibrary(LOCALELIBRARY, 39L)))
  473.     {
  474.         Emperor_InitVar = TRUE;
  475.         strcpy(Emperor_OccuredError, LOCALELIBRARY);
  476.     }
  477.     if(!(GadToolsBase = OpenLibrary(GADTOOLSLIBRARY, 39L)))
  478.     {
  479.         Emperor_InitVar = TRUE;
  480.         strcpy(Emperor_OccuredError, GADTOOLSLIBRARY);
  481.     }
  482.     if(!(DOSLibBase = OpenLibrary(DOSLIBRARY, 39L)))
  483.     {
  484.         Emperor_InitVar = TRUE;
  485.         strcpy(Emperor_OccuredError, DOSLIBRARY);
  486.     }
  487.     if(!(ASLBase = OpenLibrary(ASLLIBRARY, 39L)))
  488.     {
  489.         Emperor_InitVar = TRUE;
  490.         strcpy(Emperor_OccuredError, ASLLIBRARY);
  491.     }
  492.     if(!(ResourceBase = OpenLibrary(RESOURCELIBRARY, 44L)))
  493.     {
  494.         os35 = FALSE;
  495.         strcpy(Emperor_OccuredError, RESOURCELIBRARY);
  496.     }
  497.     if(!(LayoutBase = OpenLibrary(LAYOUTGADGETLIB, 44L)))
  498.     {
  499.         os35 = FALSE;
  500.         strcpy(Emperor_OccuredError, LAYOUTGADGETLIB);
  501.     }
  502.     if(!(WindowBase = OpenLibrary(WINDOWCLASSLIB, 44L)))
  503.     {
  504.         os35 = FALSE;
  505.         strcpy(Emperor_OccuredError, WINDOWCLASSLIB);
  506.     }
  507.     if(!(RequesterBase = OpenLibrary(REQUESTERCLASSLIB, 42L)))
  508.     {
  509.         os35 = FALSE;
  510.         strcpy(Emperor_OccuredError, REQUESTERCLASSLIB);
  511.     }
  512.     if(!(LabelBase = OpenLibrary(LABELIMAGELIB, 44L)))
  513.     {
  514.         os35 = FALSE;
  515.         strcpy(Emperor_OccuredError, LABELIMAGELIB);
  516.     }
  517.     if(!(ButtonBase = OpenLibrary(BUTTONGADGETLIB, 44L)))
  518.     {
  519.         os35 = FALSE;
  520.         strcpy(Emperor_OccuredError, BUTTONGADGETLIB);
  521.     }
  522.     if(!(CheckBoxBase = OpenLibrary(CHECKBOXGADGETLIB, 44L)))
  523.     {
  524.         os35 = FALSE;
  525.         strcpy(Emperor_OccuredError, CHECKBOXGADGETLIB);
  526.     }
  527.     if(!(ChooserBase = OpenLibrary(CHOOSERGADGETLIB, 44L)))
  528.     {
  529.         os35 = FALSE;
  530.         strcpy(Emperor_OccuredError, CHOOSERGADGETLIB);
  531.     }
  532.     if(!(ClickTabBase = OpenLibrary(CLICKTABGADGETLIB, 44L)))
  533.     {
  534.         os35 = FALSE;
  535.         strcpy(Emperor_OccuredError, CLICKTABGADGETLIB);
  536.     }
  537.     if(!(ColorWheelBase = OpenLibrary(COLORWHEELGADGETLIB, 44L)))
  538.     {
  539.         os35 = FALSE;
  540.         strcpy(Emperor_OccuredError, COLORWHEELGADGETLIB);
  541.     }
  542.     if(!(DateBrowserBase = OpenLibrary(DATEBROWSERGADGETLIB, 44L)))
  543.     {
  544.         os35 = FALSE;
  545.         strcpy(Emperor_OccuredError, DATEBROWSERGADGETLIB);
  546.     }
  547.     if(!(FuelGaugeBase = OpenLibrary(FUELGAUGEGADGETLIB, 44L)))
  548.     {
  549.         os35 = FALSE;
  550.         strcpy(Emperor_OccuredError, FUELGAUGEGADGETLIB);
  551.     }
  552.     if(!(GetFileBase = OpenLibrary(GETFILEGADGETLIB, 44L)))
  553.     {
  554.         os35 = FALSE;
  555.         strcpy(Emperor_OccuredError, GETFILEGADGETLIB);
  556.     }
  557.     if(!(GetFontBase = OpenLibrary(GETFONTGADGETLIB, 44L)))
  558.     {
  559.         os35 = FALSE;
  560.         strcpy(Emperor_OccuredError, GETFONTGADGETLIB);
  561.     }
  562.     if(!(GetScreenModeBase = OpenLibrary(GETSCREENMODEGADGETLIB, 44L)))
  563.     {
  564.         os35 = FALSE;
  565.         strcpy(Emperor_OccuredError, GETSCREENMODEGADGETLIB);
  566.     }
  567.     if(!(IntegerBase = OpenLibrary(INTEGERGADGETLIB, 44L)))
  568.     {
  569.         os35 = FALSE;
  570.         strcpy(Emperor_OccuredError, INTEGERGADGETLIB);
  571.     }
  572.     if(!(ListBrowserBase = OpenLibrary(LISTBROWSERGADGETLIB, 44L)))
  573.     {
  574.         os35 = FALSE;
  575.         strcpy(Emperor_OccuredError, LISTBROWSERGADGETLIB);
  576.     }
  577.     if(!(PaletteBase = OpenLibrary(PALETTEGADGETLIB, 44L)))
  578.     {
  579.         os35 = FALSE;
  580.         strcpy(Emperor_OccuredError, PALETTEGADGETLIB);
  581.     }
  582.     if(!(RadioButtonBase = OpenLibrary(RADIOBUTTONGADGETLIB, 44L)))
  583.     {
  584.         os35 = FALSE;
  585.         strcpy(Emperor_OccuredError, RADIOBUTTONGADGETLIB);
  586.     }
  587.     if(!(ScrollerBase = OpenLibrary(SCROLLERGADGETLIB, 44L)))
  588.     {
  589.         os35 = FALSE;
  590.         strcpy(Emperor_OccuredError, SCROLLERGADGETLIB);
  591.     }
  592.     if(!(SliderBase = OpenLibrary(SLIDERGADGETLIB, 44L)))
  593.     {
  594.         os35 = FALSE;
  595.         strcpy(Emperor_OccuredError, SLIDERGADGETLIB);
  596.     }
  597.     if(!(SpaceBase = OpenLibrary(SPACEGADGETLIB, 44L)))
  598.     {
  599.         os35 = FALSE;
  600.         strcpy(Emperor_OccuredError, SPACEGADGETLIB);
  601.     }
  602.     if(!(SpeedBarBase = OpenLibrary(SPEEDBARGADGETLIB, 44L)))
  603.     {
  604.         os35 = FALSE;
  605.         strcpy(Emperor_OccuredError, SPEEDBARGADGETLIB);
  606.     }
  607.     if(!(StringBase = OpenLibrary(STRINGGADGETLIB, 44L)))
  608.     {
  609.         os35 = FALSE;
  610.         strcpy(Emperor_OccuredError, STRINGGADGETLIB);
  611.     }
  612.     if(!(TapeDeckBase = OpenLibrary(TAPEDECKGADGETLIB, 40L)))
  613.     {
  614.         os35 = FALSE;
  615.         strcpy(Emperor_OccuredError, TAPEDECKGADGETLIB);
  616.     }
  617.     if(!(TextEditorBase = OpenLibrary(TEXTEDITORGADGETLIB, 15L)))
  618.     {
  619.         os35 = FALSE;
  620.         strcpy(Emperor_OccuredError, TEXTEDITORGADGETLIB);
  621.     }
  622.     Catalog = OpenCatalogA(NULL, "ClicktabExample.catalog", NULL);
  623.     if(Emperor_InitVar)
  624.     {
  625.         strcpy(Emperor_ExceptionString, LOCALE_REQUEST_INITIALIZATIONERROR_BODYTITLE);
  626.         strcat(Emperor_ExceptionString, LOCALE_REQUEST_INITIALIZATIONERROR_ERRRTEXT1);
  627.         Emperor_ExceptionStringLength = 0; while(Emperor_ExceptionString[Emperor_ExceptionStringLength] != NULL) Emperor_ExceptionStringLength++;
  628.         Emperor_ExceptionString[Emperor_ExceptionStringLength] = (char) 34;
  629.         Emperor_ExceptionString[Emperor_ExceptionStringLength + 1] = NULL;
  630.         strcat(Emperor_ExceptionString, Emperor_OccuredError);
  631.         Emperor_ExceptionStringLength = 0; while(Emperor_ExceptionString[Emperor_ExceptionStringLength] != NULL) Emperor_ExceptionStringLength++;
  632.         Emperor_ExceptionString[Emperor_ExceptionStringLength] = (char) 34;
  633.         Emperor_ExceptionString[Emperor_ExceptionStringLength + 1] = NULL;
  634.         strcat(Emperor_ExceptionString, LOCALE_REQUEST_INITIALIZATIONERROR_SOLUTION1);
  635.         EmperorRequest_InitializationErrorRequest.es_StructSize = sizeof(struct EasyStruct);
  636.         EmperorRequest_InitializationErrorRequest.es_Flags = 0L;
  637.         EmperorRequest_InitializationErrorRequest.es_Title = (UBYTE *) LOCALE_REQUEST_INITIALIZATIONERROR_TITLE;
  638.         EmperorRequest_InitializationErrorRequest.es_TextFormat = (UBYTE *) Emperor_ExceptionString;
  639.         EmperorRequest_InitializationErrorRequest.es_GadgetFormat = (UBYTE *) LOCALE_REQUEST_INITIALIZATIONERROR_GADGET;
  640.         EasyRequest(Window1, &EmperorRequest_InitializationErrorRequest, NULL, NULL);
  641.     }
  642.     return(Emperor_InitVar);
  643. }
  644.  
  645. void Emperor_QuitProgram(void)
  646. {
  647.     Emperor_CloseWindow_Window1();
  648.     if(WindowObject1) DisposeObject(WindowObject1);
  649.     if(AppPort) DeleteMsgPort(AppPort);
  650.     if(vinfo) FreeVisualInfo(vinfo);
  651.     if(Screen) UnlockPubScreen(NULL, Screen);
  652.     if(Catalog) CloseCatalog(Catalog);
  653.     if(TextEditorBase) CloseLibrary(TextEditorBase);
  654.     if(TapeDeckBase) CloseLibrary(TapeDeckBase);
  655.     if(StringBase) CloseLibrary(StringBase);
  656.     if(SpeedBarBase) CloseLibrary(SpeedBarBase);
  657.     if(SpaceBase) CloseLibrary(SpaceBase);
  658.     if(SliderBase) CloseLibrary(SliderBase);
  659.     if(ScrollerBase) CloseLibrary(ScrollerBase);
  660.     if(RadioButtonBase) CloseLibrary(RadioButtonBase);
  661.     if(PaletteBase) CloseLibrary(PaletteBase);
  662.     if(ListBrowserBase) CloseLibrary(ListBrowserBase);
  663.     if(IntegerBase) CloseLibrary(IntegerBase);
  664.     if(GetScreenModeBase) CloseLibrary(GetScreenModeBase);
  665.     if(GetFontBase) CloseLibrary(GetFontBase);
  666.     if(GetFileBase) CloseLibrary(GetFileBase);
  667.     if(FuelGaugeBase) CloseLibrary(FuelGaugeBase);
  668.     if(DateBrowserBase) CloseLibrary(DateBrowserBase);
  669.     if(ColorWheelBase) CloseLibrary(ColorWheelBase);
  670.     if(ClickTabBase) CloseLibrary(ClickTabBase);
  671.     if(ChooserBase) CloseLibrary(ChooserBase);
  672.     if(CheckBoxBase) CloseLibrary(CheckBoxBase);
  673.     if(ButtonBase) CloseLibrary(ButtonBase);
  674.     if(LabelBase) CloseLibrary(LabelBase);
  675.     if(RequesterBase) CloseLibrary(RequesterBase);
  676.     if(WindowBase) CloseLibrary(WindowBase);
  677.     if(LayoutBase) CloseLibrary(LayoutBase);
  678.     if(ResourceBase) CloseLibrary(ResourceBase);
  679.     if(ASLBase) CloseLibrary(ASLBase);
  680.     if(DOSLibBase) CloseLibrary(DOSLibBase);
  681.     if(GadToolsBase) CloseLibrary(GadToolsBase);
  682.     if(LocaleBase) CloseLibrary(LocaleBase);
  683.     if(IntuitionBase) CloseLibrary(IntuitionBase);
  684.     exit(0);
  685. }
  686.  
  687. void Emperor_CloseWindow_Window1(void)
  688. {
  689.     DoMethod(WindowObject1, WM_CLOSE, NULL);
  690.     Window1 = NULL;
  691.     WindowSignals1 = 0L;
  692. }
  693.  
  694. void Emperor_IconifyWindow_Window1(void)
  695. {
  696.     DoMethod(WindowObject1, WM_ICONIFY, NULL);
  697.     Window1 = NULL;
  698.     WindowSignals1 = 0L;
  699. }
  700.  
  701. struct Window *Emperor_OpenWindow_Window1(void)
  702. {
  703.     Window1 = RA_OpenWindow(WindowObject1);
  704.     GetAttr(WINDOW_SigMask, WindowObject1, &WindowSignals1);
  705.     return(Window1);
  706. }
  707.  
  708. struct Window *Emperor_UniconifyWindow_Window1(void)
  709. {
  710.     return(Emperor_OpenWindow_Window1());
  711. }
  712.  
  713. STRPTR Emperor_GetGadgetAttr(struct Gadget *Emperor_GadgetName)
  714. {
  715.     LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
  716.     STRPTR Emperor_GadgetAttrReturn = "";
  717.  
  718.     Emperor_GadgetAttrBuffer = 0L;
  719.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 255;Emperor_GadgetCounter++)
  720.     {
  721.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  722.         {
  723.             switch(Emperor_Gadgetkind1[Emperor_GadgetCounter])
  724.             {
  725.                 case 0:
  726.                     GetAttr(GA_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  727.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  728.                     break;
  729.                 case 1:
  730.                     GetAttr(GA_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  731.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  732.                     break;
  733.                 case 2:
  734.                     GetAttr(CHOOSER_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  735.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  736.                     break;
  737.                 case 3:
  738.                     GetAttr(CLICKTAB_Current, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  739.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  740.                     break;
  741.                 case 6:
  742.                     GetAttr(FUELGAUGE_Level, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  743.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  744.                     break;
  745.                 case 10:
  746.                     GetAttr(INTEGER_Number, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  747.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  748.                     break;
  749.                 case 13:
  750.                     GetAttr(LISTBROWSER_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  751.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  752.                     break;
  753.                 case 14:
  754.                     GetAttr(PALETTE_Colour, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  755.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  756.                     break;
  757.                 case 15:
  758.                     GetAttr(RADIOBUTTON_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  759.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  760.                     break;
  761.                 case 16:
  762.                     GetAttr(SCROLLER_Top, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  763.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  764.                     break;
  765.                 case 17:
  766.                     GetAttr(SLIDER_Level, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  767.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  768.                     break;
  769.                 case 19:
  770.                     GetAttr(SPEEDBAR_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  771.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  772.                     break;
  773.                 case 20:
  774.                     GetAttr(STRINGA_TextVal, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  775.                     strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  776.                     break;
  777.                 case 22:
  778.                     GetAttr(GA_TEXTEDITOR_Contents, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  779.                     strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  780.                     break;
  781.             }
  782.             break;
  783.         }
  784.     }
  785.     return(Emperor_GadgetAttrReturn);
  786. }
  787.  
  788. void Emperor_SetGadgetAttr(struct Gadget *Emperor_GadgetName, STRPTR Emperor_GadgetValue)
  789. {
  790.     LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
  791.     struct Window *Emperor_Whichwindow = NULL;
  792.  
  793.     Emperor_GadgetAttrBuffer = 0L;
  794.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 255;Emperor_GadgetCounter++)
  795.     {
  796.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  797.         {
  798.             Emperor_Whichwindow = Window1;
  799.             switch(Emperor_Gadgetkind1[Emperor_GadgetCounter])
  800.             {
  801.                 case 0:
  802.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  803.                     break;
  804.                 case 1:
  805.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  806.                     break;
  807.                 case 2:
  808.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CHOOSER_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  809.                     break;
  810.                 case 3:
  811.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CLICKTAB_Current, stringtoint(Emperor_GadgetValue), TAG_DONE);
  812.                     break;
  813.                 case 6:
  814.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, FUELGAUGE_Level, stringtoint(Emperor_GadgetValue), TAG_DONE);
  815.                     break;
  816.                 case 10:
  817.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, INTEGER_Number, stringtoint(Emperor_GadgetValue), TAG_DONE);
  818.                     break;
  819.                 case 13:
  820.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, LISTBROWSER_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  821.                     break;
  822.                 case 14:
  823.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, PALETTE_Colour, stringtoint(Emperor_GadgetValue), TAG_DONE);
  824.                     break;
  825.                 case 15:
  826.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, RADIOBUTTON_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  827.                     break;
  828.                 case 16:
  829.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, SCROLLER_Top, stringtoint(Emperor_GadgetValue), TAG_DONE);
  830.                     break;
  831.                 case 17:
  832.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, SLIDER_Level, stringtoint(Emperor_GadgetValue), TAG_DONE);
  833.                     break;
  834.                 case 19:
  835.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, SPEEDBAR_Selected, Emperor_GadgetValue, TAG_DONE);
  836.                     break;
  837.                 case 20:
  838.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, STRINGA_TextVal, Emperor_GadgetValue, TAG_DONE);
  839.                     break;
  840.                 case 22:
  841.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_TEXTEDITOR_Contents, Emperor_GadgetValue, TAG_DONE);
  842.                     break;
  843.             }
  844.             if(Emperor_GadgetAttrBuffer != 0) RefreshGList(Emperor_GadgetName, Emperor_Whichwindow, NULL, 1);
  845.             break;
  846.         }
  847.     }
  848. }
  849.  
  850. STRPTR Emperor_GetGadgetAttrComplex(struct Gadget *Emperor_GadgetName, ULONG Emperor_GadgetFlagMask)
  851. {
  852.     LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
  853.     STRPTR Emperor_GadgetAttrReturn = "";
  854.  
  855.     Emperor_GadgetAttrBuffer = 0L;
  856.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 255;Emperor_GadgetCounter++)
  857.     {
  858.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  859.         {
  860.             GetAttr(Emperor_GadgetFlagMask, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  861.             switch(Emperor_Gadgetkind1[Emperor_GadgetCounter])
  862.             {
  863.                 case 0:
  864.                     if(Emperor_GadgetFlagMask == GA_Text) strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  865.                     else strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  866.                     break;
  867.                 case 1:
  868.                     if(Emperor_GadgetFlagMask == GA_Text) strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  869.                     else strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  870.                     break;
  871.                 case 2:
  872.                     if(Emperor_GadgetFlagMask == CHOOSER_Title) strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  873.                     else strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  874.                     break;
  875.                 case 3: strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer)); break;
  876.                 case 4:
  877.                     if(Emperor_GadgetFlagMask == WHEEL_Abbrv) strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  878.                     else strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  879.                     break;
  880.                 case 5:
  881.                     if(Emperor_GadgetFlagMask == DATEBROWSER_DayTitles) strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  882.                     else strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  883.                     break;
  884.                 case 6:
  885.                     if(Emperor_GadgetFlagMask == GA_Text) strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  886.                     else strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  887.                     break;
  888.                 case 7:
  889.                     if((Emperor_GadgetFlagMask == GETFILE_TitleText) || (Emperor_GadgetFlagMask == GETFILE_File) || (Emperor_GadgetFlagMask == GETFILE_Drawer) || (Emperor_GadgetFlagMask == GETFILE_FullFile) || (Emperor_GadgetFlagMask == GETFILE_Pattern) || (Emperor_GadgetFlagMask == GETFILE_AcceptPattern) || (Emperor_GadgetFlagMask == GETFILE_RejectPattern)) strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  890.                     else strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  891.                     break;
  892.                 case 8:
  893.                     if(Emperor_GadgetFlagMask == GETFONT_TitleText) strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  894.                     else strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  895.                     break;
  896.                 case 9:
  897.                     if(Emperor_GadgetFlagMask == GETSCREENMODE_TitleText) strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  898.                     else strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  899.                     break;
  900.                 case 10: strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer)); break;
  901.                 case 13: strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer)); break;
  902.                 case 14: strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer)); break;
  903.                 case 15: strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer)); break;
  904.                 case 16: strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer)); break;
  905.                 case 17: strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer)); break;
  906.                 case 18: strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer)); break;
  907.                 case 19: strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer)); break;
  908.                 case 20:
  909.                     if((Emperor_GadgetFlagMask == STRINGA_TextVal) || (Emperor_GadgetFlagMask == STRINGA_Buffer) || (Emperor_GadgetFlagMask == STRINGA_UndoBuffer) || (Emperor_GadgetFlagMask == STRINGA_WorkBuffer)) strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  910.                     else strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  911.                     break;
  912.                 case 21: strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer)); break;
  913.                 case 22:
  914.                     if(Emperor_GadgetFlagMask == GA_TEXTEDITOR_Contents) strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  915.                     else strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  916.                     break;
  917.             }
  918.             break;
  919.         }
  920.     }
  921.     return(Emperor_GadgetAttrReturn);
  922. }
  923.  
  924. void Emperor_SetGadgetAttrComplex(struct Gadget *Emperor_GadgetName, ULONG Emperor_GadgetFlagMask, STRPTR Emperor_GadgetValue)
  925. {
  926.     LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
  927.     struct Window *Emperor_Whichwindow = NULL;
  928.  
  929.     Emperor_GadgetAttrBuffer = 0L;
  930.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 255;Emperor_GadgetCounter++)
  931.     {
  932.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  933.         {
  934.             Emperor_Whichwindow = Window1;
  935.             switch(Emperor_Gadgetkind1[Emperor_GadgetCounter])
  936.             {
  937.                 case 0:
  938.                     if(Emperor_GadgetFlagMask == GA_Text) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Text, Emperor_GadgetValue, TAG_DONE);
  939.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  940.                     break;
  941.                 case 1:
  942.                     if(Emperor_GadgetFlagMask == GA_Text) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Text, Emperor_GadgetValue, TAG_DONE);
  943.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  944.                     break;
  945.                 case 2:
  946.                     if(Emperor_GadgetFlagMask == CHOOSER_Title) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CHOOSER_Title, Emperor_GadgetValue, TAG_DONE);
  947.                     else
  948.                     {
  949.                         if(Emperor_GadgetFlagMask == CHOOSER_Labels)
  950.                         {
  951.                             SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CHOOSER_Labels, (ULONG) ~0, TAG_DONE);
  952.                             if(Emperor_GadgetValue != NULL) SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CHOOSER_Labels, Emperor_GadgetValue, TAG_DONE);
  953.                             Emperor_GadgetAttrBuffer = 1;
  954.                         }
  955.                         else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  956.                     }
  957.                     break;
  958.                 case 3:
  959.                     if(Emperor_GadgetFlagMask == CLICKTAB_Labels)
  960.                     {
  961.                         SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CLICKTAB_Labels, (ULONG) ~0, TAG_DONE);
  962.                         if(Emperor_GadgetValue != NULL) SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CLICKTAB_Labels, Emperor_GadgetValue, TAG_DONE);
  963.                         Emperor_GadgetAttrBuffer = 1;
  964.                     }
  965.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  966.                     break;
  967.                 case 4:
  968.                     if(Emperor_GadgetFlagMask == WHEEL_Abbrv) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, WHEEL_Abbrv, Emperor_GadgetValue, TAG_DONE);
  969.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  970.                     break;
  971.                 case 5:
  972.                     if(Emperor_GadgetFlagMask == DATEBROWSER_DayTitles) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, DATEBROWSER_DayTitles, Emperor_GadgetValue, TAG_DONE);
  973.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  974.                     break;
  975.                 case 6:
  976.                     if(Emperor_GadgetFlagMask == GA_Text) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Text, Emperor_GadgetValue, TAG_DONE);
  977.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  978.                     break;
  979.                 case 7:
  980.                     if((Emperor_GadgetFlagMask == GETFILE_TitleText) || (Emperor_GadgetFlagMask == GETFILE_File) || (Emperor_GadgetFlagMask == GETFILE_Drawer) || (Emperor_GadgetFlagMask == GETFILE_FullFile) || (Emperor_GadgetFlagMask == GETFILE_Pattern) || (Emperor_GadgetFlagMask == GETFILE_AcceptPattern) || (Emperor_GadgetFlagMask == GETFILE_RejectPattern)) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, Emperor_GadgetValue, TAG_DONE);
  981.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  982.                     break;
  983.                 case 8:
  984.                     if(Emperor_GadgetFlagMask == GETFONT_TitleText) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GETFONT_TitleText, Emperor_GadgetValue, TAG_DONE);
  985.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  986.                     break;
  987.                 case 9:
  988.                     if(Emperor_GadgetFlagMask == GETSCREENMODE_TitleText) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GETSCREENMODE_TitleText, Emperor_GadgetValue, TAG_DONE);
  989.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  990.                     break;
  991.                 case 10: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  992.                 case 13:
  993.                     if(Emperor_GadgetFlagMask == LISTBROWSER_Labels)
  994.                     {
  995.                         SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, LISTBROWSER_Labels, (ULONG) ~0, TAG_DONE);
  996.                         if(Emperor_GadgetValue != NULL) SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, LISTBROWSER_Labels, Emperor_GadgetValue, TAG_DONE);
  997.                         Emperor_GadgetAttrBuffer = 1;
  998.                     }
  999.                     else
  1000.                     {
  1001.                         if(Emperor_GadgetFlagMask == LISTBROWSER_ColumnInfo)
  1002.                         {
  1003.                             SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, LISTBROWSER_ColumnInfo, (ULONG) ~0, TAG_DONE);
  1004.                             if(Emperor_GadgetValue != NULL) SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, LISTBROWSER_ColumnInfo, Emperor_GadgetValue, TAG_DONE);
  1005.                             Emperor_GadgetAttrBuffer = 1;
  1006.                         }
  1007.                         else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1008.                     }
  1009.                     break;
  1010.                 case 14: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1011.                 case 15:
  1012.                     if(Emperor_GadgetFlagMask == RADIOBUTTON_Labels)
  1013.                     {
  1014.                         SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, RADIOBUTTON_Labels, (ULONG) ~0, TAG_DONE);
  1015.                         if(Emperor_GadgetValue != NULL) SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, RADIOBUTTON_Labels, Emperor_GadgetValue, TAG_DONE);
  1016.                         Emperor_GadgetAttrBuffer = 1;
  1017.                     }
  1018.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1019.                     break;
  1020.                 case 16: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1021.                 case 17: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1022.                 case 18: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1023.                 case 19: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1024.                 case 20:
  1025.                     if((Emperor_GadgetFlagMask == STRINGA_TextVal) || (Emperor_GadgetFlagMask == STRINGA_Buffer) || (Emperor_GadgetFlagMask == STRINGA_UndoBuffer) || (Emperor_GadgetFlagMask == STRINGA_WorkBuffer)) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, Emperor_GadgetValue, TAG_DONE);
  1026.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1027.                     break;
  1028.                 case 21: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1029.                 case 22:
  1030.                     if(Emperor_GadgetFlagMask == GA_TEXTEDITOR_Contents) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_TEXTEDITOR_Contents, Emperor_GadgetValue, TAG_DONE);
  1031.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1032.                     break;
  1033.             }
  1034.             if(Emperor_GadgetAttrBuffer != 0) RefreshGList(Emperor_GadgetName, Emperor_Whichwindow, NULL, 1);
  1035.             break;
  1036.         }
  1037.     }
  1038. }
  1039.  
  1040. BOOL Emperor_GetGadgetDisabledAttr(struct Gadget *Emperor_GadgetName)
  1041. {
  1042.     LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
  1043.     BOOL Emperor_GadgetAttrReturn;
  1044.  
  1045.     Emperor_GadgetAttrBuffer = 0L;
  1046.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 255;Emperor_GadgetCounter++)
  1047.     {
  1048.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  1049.         {
  1050.             GetAttr(GA_Disabled, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1051.             break;
  1052.         }
  1053.     }
  1054.     Emperor_GadgetAttrReturn = Emperor_GadgetAttrBuffer;
  1055.     return(Emperor_GadgetAttrReturn);
  1056. }
  1057.  
  1058. void Emperor_SetGadgetDisabledAttr(struct Gadget *Emperor_GadgetName, BOOL Emperor_GadgetValue)
  1059. {
  1060.     LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
  1061.     struct Window *Emperor_Whichwindow = NULL;
  1062.  
  1063.     Emperor_GadgetAttrBuffer = 0L;
  1064.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 255;Emperor_GadgetCounter++)
  1065.     {
  1066.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  1067.         {
  1068.             Emperor_Whichwindow = Window1;
  1069.             Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Disabled, Emperor_GadgetValue, TAG_DONE);
  1070.             if(Emperor_GadgetAttrBuffer != 0) RefreshGList(Emperor_GadgetName, Emperor_Whichwindow, NULL, 1);
  1071.             break;
  1072.         }
  1073.     }
  1074. }
  1075.  
  1076. BOOL Emperor_GetGadgetAttrReadOnly(struct Gadget *Emperor_GadgetName)
  1077. {
  1078.     LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
  1079.     BOOL Emperor_GadgetAttrReturn;
  1080.  
  1081.     Emperor_GadgetAttrBuffer = 0L;
  1082.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 255;Emperor_GadgetCounter++)
  1083.     {
  1084.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  1085.         {
  1086.             GetAttr(GA_ReadOnly, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1087.             break;
  1088.         }
  1089.     }
  1090.     Emperor_GadgetAttrReturn = Emperor_GadgetAttrBuffer;
  1091.     return(Emperor_GadgetAttrReturn);
  1092. }
  1093.  
  1094. void Emperor_SetGadgetReadOnlyAttr(struct Gadget *Emperor_GadgetName, BOOL Emperor_GadgetValue)
  1095. {
  1096.     LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
  1097.     struct Window *Emperor_Whichwindow = NULL;
  1098.  
  1099.     Emperor_GadgetAttrBuffer = 0L;
  1100.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 255;Emperor_GadgetCounter++)
  1101.     {
  1102.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  1103.         {
  1104.             Emperor_Whichwindow = Window1;
  1105.             Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_ReadOnly, Emperor_GadgetValue, TAG_DONE);
  1106.             if(Emperor_GadgetAttrBuffer != 0) RefreshGList(Emperor_GadgetName, Emperor_Whichwindow, NULL, 1);
  1107.             break;
  1108.         }
  1109.     }
  1110. }
  1111.  
  1112. void Emperor_ActivateGadget(struct Gadget *Emperor_GadgetName)
  1113. {
  1114.     LONG Emperor_GadgetCounter;
  1115.     struct Window *Emperor_Whichwindow = NULL;
  1116.  
  1117.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 255;Emperor_GadgetCounter++)
  1118.     {
  1119.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  1120.         {
  1121.             Emperor_Whichwindow = Window1;
  1122.             break;
  1123.         }
  1124.     }
  1125.     ActivateGadget(Emperor_GadgetName, Emperor_Whichwindow, NULL);
  1126. }
  1127.  
  1128. void Emperor_RethinkLayout(struct Gadget *Emperor_GadgetName)
  1129. {
  1130.     LONG Emperor_GadgetCounter;
  1131.     struct Window *Emperor_Whichwindow = NULL;
  1132.  
  1133.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 255;Emperor_GadgetCounter++)
  1134.     {
  1135.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  1136.         {
  1137.             Emperor_Whichwindow = Window1;
  1138.             break;
  1139.         }
  1140.     }
  1141.     RethinkLayout(Emperor_GadgetName, Emperor_Whichwindow, NULL, TRUE);
  1142. }
  1143.  
  1144. void Emperor_RefreshGList(struct Gadget *Emperor_GadgetName, WORD Emperor_NumberRefresh)
  1145. {
  1146.     LONG Emperor_GadgetCounter;
  1147.     struct Window *Emperor_Whichwindow = NULL;
  1148.  
  1149.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 255;Emperor_GadgetCounter++)
  1150.     {
  1151.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  1152.         {
  1153.             Emperor_Whichwindow = Window1;
  1154.             break;
  1155.         }
  1156.     }
  1157.     RefreshGList(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_NumberRefresh);
  1158. }
  1159.  
  1160. void Emperor_ChangeWindowPosition(struct Window *Emperor_ApplicationWindow, WORD Emperor_Left, WORD Emperor_Top)
  1161. {
  1162.     WORD Emperor_Width, Emperor_Height;
  1163.  
  1164.     Emperor_Width = Emperor_ApplicationWindow->Width;
  1165.     Emperor_Height = Emperor_ApplicationWindow->Height;
  1166.     ChangeWindowBox(Emperor_ApplicationWindow, Emperor_Left, Emperor_Top, Emperor_Width, Emperor_Height);
  1167. }
  1168.  
  1169. void Emperor_ChangeWindowSize(struct Window *Emperor_ApplicationWindow, WORD Emperor_Width, WORD Emperor_Height)
  1170. {
  1171.     WORD Emperor_Left, Emperor_Top;
  1172.  
  1173.     Emperor_Left = Emperor_ApplicationWindow->LeftEdge;
  1174.     Emperor_Top = Emperor_ApplicationWindow->TopEdge;
  1175.     ChangeWindowBox(Emperor_ApplicationWindow, Emperor_Left, Emperor_Top, Emperor_Width, Emperor_Height);
  1176. }
  1177.  
  1178. void Emperor_SetWindowBusyPointer(struct Window *Emperor_ApplicationWindow, BOOL Emperor_SetReset)
  1179. {
  1180.     if(Emperor_SetReset) SetWindowPointer(Emperor_ApplicationWindow, WA_BusyPointer, TRUE, WA_PointerDelay, TRUE, TAG_DONE);
  1181.     else SetWindowPointer(Emperor_ApplicationWindow, TAG_DONE);
  1182. }
  1183.  
  1184. void Emperor_SetWindowTitle(struct Window *Emperor_ApplicationWindow, STRPTR Emperor_Title)
  1185. {
  1186.     SetWindowTitles(Emperor_ApplicationWindow, (UBYTE *) Emperor_Title, ((UBYTE *) ~0));
  1187. }
  1188.  
  1189. void Emperor_SetScreenTitle(struct Window *Emperor_ApplicationWindow, STRPTR Emperor_Title)
  1190. {
  1191.     SetWindowTitles(Emperor_ApplicationWindow, ((UBYTE *) ~0), (UBYTE *) Emperor_Title);
  1192. }
  1193.  
  1194. void Emperor_AllocChooserNode(struct List *Emperor_List, char **Emperor_Labels, WORD *Emperor_Attributes)
  1195. {
  1196.     WORD Emperor_Counter1 = 0;
  1197.     struct Node *Emperor_Node;
  1198.  
  1199.     if(os35)
  1200.     {
  1201.         NewList(Emperor_List);
  1202.         while(*Emperor_Labels)
  1203.         {
  1204.             Emperor_Node = AllocChooserNode(CNA_Text, *Emperor_Labels, CNA_Disabled, Emperor_Attributes[Emperor_Counter1], CNA_ReadOnly, Emperor_Attributes[Emperor_Counter1 + 1], TAG_DONE);
  1205.             AddTail(Emperor_List, Emperor_Node);
  1206.             Emperor_Labels++;
  1207.             Emperor_Counter1 += 12;
  1208.         }
  1209.     }
  1210. }
  1211.  
  1212. void Emperor_AllocClicktabNode(struct List *Emperor_List, char **Emperor_Labels, WORD *Emperor_Attributes)
  1213. {
  1214.     WORD Emperor_Counter1 = 0, Emperor_Counter2 = 0;
  1215.     struct Node *Emperor_Node;
  1216.  
  1217.     if(os35)
  1218.     {
  1219.         NewList(Emperor_List);
  1220.         while(*Emperor_Labels)
  1221.         {
  1222.             Emperor_Node = AllocClickTabNode(TNA_Text, *Emperor_Labels, TNA_Disabled, Emperor_Attributes[Emperor_Counter1], TNA_Number, Emperor_Counter2, TAG_DONE);
  1223.             AddTail(Emperor_List, Emperor_Node);
  1224.             Emperor_Labels++;
  1225.             Emperor_Counter1 += 12;
  1226.             Emperor_Counter2++;
  1227.         }
  1228.     }
  1229. }
  1230.  
  1231. void Emperor_AllocListbrowserNode(struct List *Emperor_List, char **Emperor_Labels, WORD *Emperor_Attributes)
  1232. {
  1233.     WORD Emperor_Counter1 = 0, Emperor_Counter2 = 0;
  1234.     struct Node *Emperor_Node;
  1235.  
  1236.     if(os35)
  1237.     {
  1238.         NewList(Emperor_List);
  1239.         while(*Emperor_Labels)
  1240.         {
  1241.             Emperor_Counter2 = 0;
  1242.             if(Emperor_Attributes[Emperor_Counter1 + 1]) Emperor_Counter2 += 1;
  1243.             if(Emperor_Attributes[Emperor_Counter1 + 2]) Emperor_Counter2 += 4;
  1244.             if(Emperor_Attributes[Emperor_Counter1 + 3]) Emperor_Counter2 += 8;
  1245.             if(Emperor_Attributes[Emperor_Counter1 + 4]) Emperor_Counter2 += 16;
  1246.             Emperor_Node = AllocListBrowserNode(1, LBNCA_Text, *Emperor_Labels, LBNCA_CopyText, TRUE, LBNA_Generation, Emperor_Attributes[Emperor_Counter1 + 10], LBNA_Column, Emperor_Attributes[Emperor_Counter1 + 11], LBNA_Flags, Emperor_Counter2, LBNA_Selected, Emperor_Attributes[Emperor_Counter1 + 5], LBNA_CheckBox, Emperor_Attributes[Emperor_Counter1 + 6], LBNA_Checked, Emperor_Attributes[Emperor_Counter1 + 7], TAG_DONE);
  1247.             AddTail(Emperor_List, Emperor_Node);
  1248.             Emperor_Labels++;
  1249.             Emperor_Counter1 += 12;
  1250.         }
  1251.     }
  1252. }
  1253.  
  1254. void Emperor_AllocListbrowserGadToolsNode(struct List *Emperor_List, char **Emperor_Labels)
  1255. {
  1256.     struct Node *Emperor_Node;
  1257.     struct Remember *Emperor_RememberKey;
  1258.  
  1259.     NewList(Emperor_List);
  1260.     while(*Emperor_Labels)
  1261.     {
  1262.         Emperor_Node = (struct Node *) AllocRemember(&Emperor_RememberKey, sizeof(struct Node), MEMF_CLEAR);
  1263.         Emperor_Node->ln_Name = *Emperor_Labels;
  1264.         AddTail(Emperor_List, Emperor_Node);
  1265.         Emperor_Labels++;
  1266.     }
  1267. }
  1268.  
  1269. void Emperor_AllocRadiobuttonNode(struct List *Emperor_List, char **Emperor_Labels, WORD *Emperor_Attributes)
  1270. {
  1271.     struct Node *Emperor_Node;
  1272.  
  1273.     if(os35)
  1274.     {
  1275.         NewList(Emperor_List);
  1276.         while(*Emperor_Labels)
  1277.         {
  1278.             Emperor_Node = AllocRadioButtonNode(1, RBNA_Labels, *Emperor_Labels, TAG_DONE);
  1279.             AddTail(Emperor_List, Emperor_Node);
  1280.             Emperor_Labels++;
  1281.         }
  1282.     }
  1283. }
  1284.  
  1285. LONG stringlength(STRPTR Emperor_StringBuffer)
  1286. {
  1287.     LONG Emperor_Counter = 0;
  1288.  
  1289.     while(Emperor_StringBuffer[Emperor_Counter] != NULL) Emperor_Counter++;
  1290.     return(Emperor_Counter);
  1291. }
  1292.  
  1293. LONG stringtoint(STRPTR Emperor_StringBuffer)
  1294. {
  1295.     BOOL Emperor_NegativeBuffer = FALSE;
  1296.     BYTE Emperor_NumberBuffer = 0;
  1297.     BYTE Emperor_StringLength = 0;
  1298.     LONG Emperor_ReturnBuffer = 0;
  1299.  
  1300.     if(*Emperor_StringBuffer == '-')
  1301.     {
  1302.         Emperor_StringBuffer++;
  1303.         Emperor_NegativeBuffer = TRUE;
  1304.     }
  1305.     if(*Emperor_StringBuffer == '0') Emperor_ReturnBuffer = 0;
  1306.     else
  1307.     {
  1308.         Emperor_StringLength = stringlength(Emperor_StringBuffer);
  1309.         for(;Emperor_StringLength > 0;Emperor_StringLength--)
  1310.         {
  1311.             Emperor_NumberBuffer = 0;
  1312.             if(*Emperor_StringBuffer == '1') Emperor_NumberBuffer = 1;
  1313.             if(*Emperor_StringBuffer == '2') Emperor_NumberBuffer = 2;
  1314.             if(*Emperor_StringBuffer == '3') Emperor_NumberBuffer = 3;
  1315.             if(*Emperor_StringBuffer == '4') Emperor_NumberBuffer = 4;
  1316.             if(*Emperor_StringBuffer == '5') Emperor_NumberBuffer = 5;
  1317.             if(*Emperor_StringBuffer == '6') Emperor_NumberBuffer = 6;
  1318.             if(*Emperor_StringBuffer == '7') Emperor_NumberBuffer = 7;
  1319.             if(*Emperor_StringBuffer == '8') Emperor_NumberBuffer = 8;
  1320.             if(*Emperor_StringBuffer == '9') Emperor_NumberBuffer = 9;
  1321.             if(Emperor_StringLength == 1)  Emperor_ReturnBuffer += Emperor_NumberBuffer;
  1322.             if(Emperor_StringLength == 2)  Emperor_ReturnBuffer += 10 * Emperor_NumberBuffer;
  1323.             if(Emperor_StringLength == 3)  Emperor_ReturnBuffer += 100 * Emperor_NumberBuffer;
  1324.             if(Emperor_StringLength == 4)  Emperor_ReturnBuffer += 1000 * Emperor_NumberBuffer;
  1325.             if(Emperor_StringLength == 5)  Emperor_ReturnBuffer += 10000 * Emperor_NumberBuffer;
  1326.             if(Emperor_StringLength == 6)  Emperor_ReturnBuffer += 100000 * Emperor_NumberBuffer;
  1327.             if(Emperor_StringLength == 7)  Emperor_ReturnBuffer += 1000000 * Emperor_NumberBuffer;
  1328.             if(Emperor_StringLength == 8)  Emperor_ReturnBuffer += 10000000 * Emperor_NumberBuffer;
  1329.             if(Emperor_StringLength == 9)  Emperor_ReturnBuffer += 100000000 * Emperor_NumberBuffer;
  1330.             if(Emperor_StringLength == 10) Emperor_ReturnBuffer += 1000000000 * Emperor_NumberBuffer;
  1331.             Emperor_StringBuffer++;
  1332.         }
  1333.     }
  1334.     if(Emperor_NegativeBuffer) Emperor_ReturnBuffer = -Emperor_ReturnBuffer;
  1335.     return(Emperor_ReturnBuffer);
  1336. }
  1337.  
  1338. STRPTR inttostring(LONG Emperor_NumberBuffer1)
  1339. {
  1340.     LONG Emperor_NumberBuffer2;
  1341.     BYTE Emperor_NumberLength = 0;
  1342.     BYTE Emperor_Counter = 0;
  1343.     char *Emperor_ReturnBuffer = "abcdefghij";
  1344.  
  1345.     strcpy(Emperor_ReturnBuffer, "");
  1346.     Emperor_ReturnBuffer[0] = NULL;
  1347.     if(Emperor_NumberBuffer1 < 0)
  1348.     {
  1349.         strcpy(Emperor_ReturnBuffer, "-");
  1350.         Emperor_NumberBuffer1 = -Emperor_NumberBuffer1;
  1351.     }
  1352.     if(Emperor_NumberBuffer1 > 0) Emperor_NumberLength = 1;
  1353.     if(Emperor_NumberBuffer1/10 > 0) Emperor_NumberLength = 2;
  1354.     if(Emperor_NumberBuffer1/100 > 0) Emperor_NumberLength = 3;
  1355.     if(Emperor_NumberBuffer1/1000 > 0) Emperor_NumberLength = 4;
  1356.     if(Emperor_NumberBuffer1/10000 > 0) Emperor_NumberLength = 5;
  1357.     if(Emperor_NumberBuffer1/100000 > 0) Emperor_NumberLength = 6;
  1358.     if(Emperor_NumberBuffer1/1000000 > 0) Emperor_NumberLength = 7;
  1359.     if(Emperor_NumberBuffer1/10000000 > 0) Emperor_NumberLength = 8;
  1360.     if(Emperor_NumberBuffer1/100000000 > 0) Emperor_NumberLength = 9;
  1361.     if(Emperor_NumberBuffer1 == 0)  strcpy(Emperor_ReturnBuffer, "0");
  1362.     else
  1363.     {
  1364.         Emperor_Counter = Emperor_NumberLength;
  1365.         for(;Emperor_Counter > 0;Emperor_Counter--)
  1366.         {
  1367.             if(Emperor_Counter == 9) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/100000000;
  1368.             if(Emperor_Counter == 8) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/10000000;
  1369.             if(Emperor_Counter == 7) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/1000000;
  1370.             if(Emperor_Counter == 6) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/100000;
  1371.             if(Emperor_Counter == 5) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/10000;
  1372.             if(Emperor_Counter == 4) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/1000;
  1373.             if(Emperor_Counter == 3) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/100;
  1374.             if(Emperor_Counter == 2) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/10;
  1375.             if(Emperor_Counter == 1) Emperor_NumberBuffer2 = Emperor_NumberBuffer1;
  1376.             if(Emperor_NumberBuffer2 == 0) strcat(Emperor_ReturnBuffer, "0");
  1377.             if(Emperor_NumberBuffer2 == 1) strcat(Emperor_ReturnBuffer, "1");
  1378.             if(Emperor_NumberBuffer2 == 2) strcat(Emperor_ReturnBuffer, "2");
  1379.             if(Emperor_NumberBuffer2 == 3) strcat(Emperor_ReturnBuffer, "3");
  1380.             if(Emperor_NumberBuffer2 == 4) strcat(Emperor_ReturnBuffer, "4");
  1381.             if(Emperor_NumberBuffer2 == 5) strcat(Emperor_ReturnBuffer, "5");
  1382.             if(Emperor_NumberBuffer2 == 6) strcat(Emperor_ReturnBuffer, "6");
  1383.             if(Emperor_NumberBuffer2 == 7) strcat(Emperor_ReturnBuffer, "7");
  1384.             if(Emperor_NumberBuffer2 == 8) strcat(Emperor_ReturnBuffer, "8");
  1385.             if(Emperor_NumberBuffer2 == 9) strcat(Emperor_ReturnBuffer, "9");
  1386.             if(Emperor_Counter == 9) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*100000000;
  1387.             if(Emperor_Counter == 8) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*10000000;
  1388.             if(Emperor_Counter == 7) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*1000000;
  1389.             if(Emperor_Counter == 6) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*100000;
  1390.             if(Emperor_Counter == 5) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*10000;
  1391.             if(Emperor_Counter == 4) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*1000;
  1392.             if(Emperor_Counter == 3) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*100;
  1393.             if(Emperor_Counter == 2) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*10;
  1394.             if(Emperor_Counter == 1) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2;
  1395.         }
  1396.     }
  1397.     return(Emperor_ReturnBuffer);
  1398. }
  1399.